const mongoose = require('mongoose');
const Joi = require('joi')

// 定义category数据结构
const categorySchema = new mongoose.Schema({
  name:{
    type: String,
    required: true,
    minLength: 1,
    maxLength: 10
  }
})

// 创建model
const Category = mongoose.model('Category', categorySchema)

// 定义规则校验函数
function categoryValidator(data){
  const schema = Joi.object({
    name: Joi.string().max(10).min(1).required().messages({
      'string.base': 'name必须为字符串',
      'string.min': 'name最少2个字符',
      'string.max': 'name最多10个字符',
      'any.required': '缺少必选参数name'
    })
  })
  return schema.validate(data)
}

module.exports = {
  Category, categoryValidator
}